package com.ph.irp.base.assistantmaterial.dao;

import java.io.Serializable;
import java.util.List;

import com.ph.irp.model.PBaseAssistantmaterialArea;

public interface PBaseAssistantmaterialAreaDAO extends Serializable {
	/**
	 * 增加辅助资料——区域
	 * @author yan.jian@phinfoservices.com
	 * @param area 要插入的PBaseAssistantmaterialArea类型的区域信息
	 * @throws Throwable
	 */
	public void addAssistantmaterialArea(PBaseAssistantmaterialArea area) throws Throwable ;
	/**
	 * 删除辅助资料——区域
	 * @author yan.jian@phinfoservices.com
	 * @param areaIds 要删除的区域的Id数组（String类型）
	 * @throws Throwable
	 */
	public void deleteAssistantmaterialArea(String areaId) throws Throwable;
	/**
	 * 修改辅助资料——区域
	 * @author yan.jian@phinfoservices.com
	 * @param area 要修改的PBaseAssistantmaterialArea类型的区域信息
	 * @throws Throwable
	 */
	public void updateAssistantmaterialArea(PBaseAssistantmaterialArea area) throws Throwable;
	/**
	 * 根据Id查找辅助资料——区域信息
	 * @return 返回一个PBaseAssistantmaterialArea
	 * @param areaId 
	 * @throws Throwable
	 */
	public PBaseAssistantmaterialArea getAssistantmaterialAreaById(int areaId) throws Throwable;
	/**
	 * 查找所有的辅助资料——区域信息
	 * @return 返回一个存储{@link com.ph.irp.model.PBaseAssistantmaterialArea PBaseAssistantmaterialArea}类型的List
	 * @throws Throwable
	 */
	public List<PBaseAssistantmaterialArea> getAllAssistantmaterialAreas() throws Throwable;
	/**
	 * 根据区域信息代码查找辅助资料——区域信息
	 * @param areaCode 区域信息代码参数
	 * @return 返回一个存储{@link com.ph.irp.model.PBaseAssistantmaterialArea PBaseAssistantmaterialArea}类型的List
	 * @throws Throwable
	 */
	public List<PBaseAssistantmaterialArea> getAssistantmaterialAreasByCode(String areaCode) throws Throwable;
	/**
	 * 根据区域信息名字查找辅助资料——区域信息
	 * @param areaName 区域信息名字参数
	 * @return 返回一个存储{@link com.ph.irp.model.PBaseAssistantmaterialArea PBaseAssistantmaterialArea}类型的List
	 * @throws Throwable
	 */
	public List<PBaseAssistantmaterialArea> getAssistantmaterialAreasByName(String areaName) throws Throwable;
	/**
	 * 根据区域信息名字和区域信息代码查找辅助资料——区域信息
	 * @param areaCode 区域信息代码参数
	 * @param areaName 区域信息名字参数
	 * @return 返回一个存储{@link com.ph.irp.model.PBaseAssistantmaterialArea PBaseAssistantmaterialArea}类型的List
	 * @throws Throwable
	 */
	public List<PBaseAssistantmaterialArea> getAssistantmaterialAreasByCodeAndName(String areaCode, String areaName) throws Throwable;
	
	/**
	 * 要添加或修改区域信息时，查看区域代码是否相同
	 * @param areaCode
	 * @return 相同返回true,否则，返回false
	 * @throws Throwable
	 *//*
	public boolean isSameCode(String areaCode) throws Throwable;
	
	*//**
	 * 要添加或修改区域信息时，查看区域名称是否相同
	 * @param areaName
	 * @return 相同返回true,否则，返回false
	 * @throws Throwable
	 *//*
	public boolean isSameName(String areaName) throws Throwable;*/
	
}
